package edu.pe.cayetano.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;

import org.apache.commons.beanutils.DynaBean;

import ws.synopsis.frmwrk.common.BResult;
import edu.pe.cayetano.framework.Configuration;
import edu.pe.cayetano.framework.DAOException;
import edu.pe.cayetano.seccd.constantes.ConstantesSECCD;
import edu.pe.cayetano.util.Utilitario;

public class HistoriaClinicaDetalleDAO extends BaseDAO{

	String 					schema			= Configuration.getSchemaDB();
	
	
	public HistoriaClinicaDetalleDAO(Connection cnx) {
		super(cnx);
		System.out.println("entre al con conexion:<"+cnx+">");
	}

	
	public BResult actualizaExisteHistoriaDetalle(DynaBean dyna,String constante) throws Exception {
		BResult					ret				= null;
		PreparedStatement		pstmt 		 	= null;
		String					existe			= "";
		try{		
			StringBuffer query  = new StringBuffer();
			query.append(" UPDATE "+schema+"HISTORIA_CLINICA_DETALLE SET ");
			if(ConstantesSECCD.EXISTE_DIAECG.equalsIgnoreCase(constante)){
				query.append(" TIENE_ECG=?");
				existe=ConstantesSECCD.EXISTE_DIAECG;
			}
			if(ConstantesSECCD.EXISTE_DIAFEX.equalsIgnoreCase(constante)){
				query.append(" TIENE_FEX=?");
				existe=ConstantesSECCD.EXISTE_DIAFEX;
			}
			if(ConstantesSECCD.EXISTE_DIAFIN.equalsIgnoreCase(constante)){
				query.append(" TIENE_FIN=?");
				existe=ConstantesSECCD.EXISTE_DIAFIN;
			}
			if(ConstantesSECCD.EXISTE_DIAPRE.equalsIgnoreCase(constante)){
				query.append(" TIENE_DPS=?");
				existe=ConstantesSECCD.EXISTE_DIAPRE;
			}
			if(ConstantesSECCD.EXISTE_DIADEF.equalsIgnoreCase(constante)){
				query.append(" TIENE_DDF=?");
				existe=ConstantesSECCD.EXISTE_DIADEF;
			}
			query.append(" WHERE FILEHC=?"); 
			
			String filehc = Utilitario.getPropertyDynaBean(dyna,"filehc");
			pstmt = getConnection().prepareStatement(query.toString());
			pstmt.setString(1,existe);
			pstmt.setString(2,filehc.substring(2,filehc.length()));
			
			pstmt.executeUpdate();	
			ret = new BResult();
			ret.setCode(ConstantesSECCD.EXITO_RET);
		}catch(Exception e){
			ret = new BResult();
			ret.setCode(-1);
			ret.setMessage(e.getMessage());
		}finally{
			try{
				pstmt.close();
			}
			catch(Exception e){
				throw new DAOException(e.getMessage());	
			}
		}
		return ret;
	}
	

}
